-- @Author: 作者QQ2308873645
-- @Date:   2021-11-27 13:12:31
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-07-19 08:21:23
-- @Author: 作者QQ2308873645
-- @Date:   2021-11-27 13:12:31
-- @Last Modified by:   作者QQ2308873645
-- @Last Modified time: 2021-12-14 21:24:22
function 任务控制类:完成任务链(id, 任务id, 跳过)
	if 任务id == nil or 任务数据[任务id] == nil or 任务数据[任务id].奖励重置 == false then
		发送数据(玩家数据[id].连接id, 7, "#y/任务链数据异常")
		return 0
	end
	任务数据[任务id].奖励重置 = false
	self.任务链经验 = math.floor(取角色等级(id) * 取角色等级(id) * 60 * (1 + 任务数据[任务id].次数 * 0.01))
	if 跳过 == nil then
		角色处理类:添加经验(玩家数据[id],self.任务链经验,"任务链")
		角色处理类:添加活跃度(玩家数据[id],1)
		角色处理类:添加单人积分(玩家数据[id],1)
	end
	self.玩家名称 =玩家数据[id].角色.名称
	if 任务数据[任务id].次数 == 300 then
		角色处理类:取消任务(玩家数据[id],任务id)
		任务数据[任务id] = nil
		发送数据(玩家数据[id].连接id, 7, "#y/你完成了任务链")
    local 物品总数量 = f函数.读配置(ServerDirectory..[[配置文件\内置活动奖励\任务链.txt]], "任务链300环", "任务链物品总数量")+0
    local 物品 = {}
    local 数量 = {}
    for i=1,物品总数量 do
       物品[i]=f函数.读配置(ServerDirectory..[[配置文件\内置活动奖励\任务链.txt]], "任务链300环", "物品["..tostring(i).."]")
       数量[i]=f函数.读配置(ServerDirectory..[[配置文件\内置活动奖励\任务链.txt]], "任务链300环", "数量["..tostring(i).."]")+0
     if 物品[i] ~= "银子" and 物品[i]~="储备" and 物品[i]~="仙玉" then
          道具处理类:给予道具(id,物品[i],nil,nil,数量[i])
     else
       if 物品[i] == "银子" then
          角色处理类:添加银子(玩家数据[id],数量[i],"任务链")
       elseif 物品[i] == "仙玉" then
			    角色处理类:添加仙玉(玩家数据[id],数量[i],"任务链")
       else
          角色处理类:添加储备(玩家数据[id],数量[i],"任务链")
       end
     end
    end
    道具处理类:系统兽决存仓(id)
    道具处理类:系统仓库处理(id)
		广播消息("#hd/".."#S/(任务链)".."#g/" .. self.玩家名称 .. "#y/完成300次任务链任务获得了#G/各种打造材料和高额银子".."#"..math.random(110))
		if 玩家数据[id].成就系统.任务链 ~= nil then
		玩家数据[id].成就系统.任务链.次数 = 玩家数据[id].成就系统.任务链.次数 + 1
	   		else
		玩家数据[id].成就系统.任务链 = {次数=1,奖励=0,等级=0}
		end
	elseif 任务数据[任务id].次数 == 200 then
    local 物品总数量 = f函数.读配置(ServerDirectory..[[配置文件\内置活动奖励\任务链.txt]], "任务链200环", "任务链物品总数量")+0
    local 物品 = {}
    local 数量 = {}
    for i=1,物品总数量 do
       物品[i]=f函数.读配置(ServerDirectory..[[配置文件\内置活动奖励\任务链.txt]], "任务链200环", "物品["..tostring(i).."]")
       数量[i]=f函数.读配置(ServerDirectory..[[配置文件\内置活动奖励\任务链.txt]], "任务链200环", "数量["..tostring(i).."]")+0
     if 物品[i] ~= "银子" and 物品[i]~="储备" and 物品[i]~="仙玉" then
          道具处理类:给予道具(id,物品[i],nil,nil,数量[i])
     else
       if 物品[i] == "银子" then
          角色处理类:添加银子(玩家数据[id],数量[i],"任务链")
       elseif 物品[i] == "仙玉" then
			    角色处理类:添加仙玉(玩家数据[id],数量[i],"任务链")
       else
          角色处理类:添加储备(玩家数据[id],数量[i],"任务链")
       end
     end
    end
    道具处理类:系统兽决存仓(id)
    道具处理类:系统仓库处理(id)
		广播消息("#hd/".."#S/(任务链)".."#g/" .. self.玩家名称 .. "#y/完成200次任务链任务获得了#G/各种打造材料和高额银子".."#"..math.random(110))
      if 活动进度[id] == nil then
        活动进度[id]={师门=0,抓鬼=0,鬼王=0,门派闯关=0,皇宫飞贼=0,知了=0,通天塔=0,车迟斗法=0,乌鸡国=0,高级藏宝图=0,玲珑宝图=0,新手泡泡=0,夏日炎炎=0,年兽活动=0,地煞活动=0,天罡神器=0,任务链=0,轮回镜=0}
      end
      if 活动进度[id].任务链 < 100 then
       活动进度[id].任务链 = 活动进度[id].任务链 + 1
      end
		self:设置任务链(id, 任务id)
	elseif 任务数据[任务id].次数 == 100 then
    local 物品总数量 = f函数.读配置(ServerDirectory..[[配置文件\内置活动奖励\任务链.txt]], "任务链100环", "任务链物品总数量")+0
    local 物品 = {}
    local 数量 = {}
    for i=1,物品总数量 do
       物品[i]=f函数.读配置(ServerDirectory..[[配置文件\内置活动奖励\任务链.txt]], "任务链100环", "物品["..tostring(i).."]")
       数量[i]=f函数.读配置(ServerDirectory..[[配置文件\内置活动奖励\任务链.txt]], "任务链100环", "数量["..tostring(i).."]")+0
     if 物品[i] ~= "银子" and 物品[i]~="储备" and 物品[i]~="仙玉" then
          道具处理类:给予道具(id,物品[i],nil,nil,数量[i])
     else
       if 物品[i] == "银子" then
          角色处理类:添加银子(玩家数据[id],数量[i],"任务链")
       elseif 物品[i] == "仙玉" then
			    角色处理类:添加仙玉(玩家数据[id],数量[i],"任务链")
       else
          角色处理类:添加储备(玩家数据[id],数量[i],"任务链")
       end
     end
    end
    道具处理类:系统兽决存仓(id)
    道具处理类:系统仓库处理(id)
		广播消息("#hd/".."#S/(任务链)".."#g/" .. self.玩家名称 .. "#y/完成100次任务链任务获得了#G/各种打造材料和高额银子".."#"..math.random(110))
      if 活动进度[id] == nil then
        活动进度[id]={师门=0,抓鬼=0,鬼王=0,门派闯关=0,皇宫飞贼=0,知了=0,通天塔=0,车迟斗法=0,乌鸡国=0,高级藏宝图=0,玲珑宝图=0,新手泡泡=0,夏日炎炎=0,年兽活动=0,地煞活动=0,天罡神器=0,任务链=0,轮回镜=0}
      end
      if 活动进度[id].任务链 < 100 then
       活动进度[id].任务链 = 活动进度[id].任务链 + 1
      end
		self:设置任务链(id, 任务id)
	else
      if 活动进度[id] == nil then
        活动进度[id]={师门=0,抓鬼=0,鬼王=0,门派闯关=0,皇宫飞贼=0,知了=0,通天塔=0,车迟斗法=0,乌鸡国=0,高级藏宝图=0,玲珑宝图=0,新手泡泡=0,夏日炎炎=0,年兽活动=0,地煞活动=0,天罡神器=0,任务链=0,轮回镜=0}
      end
      if 活动进度[id].任务链 < 100 then
       活动进度[id].任务链 = 活动进度[id].任务链 + 1
      end
		self:设置任务链(id, 任务id)
	end
end
function 任务控制类:设置任务链(id, 任务id)
	self.任务链参数 = math.random(4)
	任务数据[任务id].次数 = 任务数据[任务id].次数 + 1
	任务数据[任务id].id = 任务数据[任务id].id
	任务数据[任务id].奖励重置 = true
	任务数据[任务id].起始 = os.time()
	任务数据[任务id].结束 = 3600
	任务数据[任务id].地图名称,任务数据[任务id].NPC= 取任务人物和地图()


	local  任务链地图=MapData[任务数据[任务id].地图名称].名称
	local  任务链人物 =NpcData[任务数据[任务id].NPC].名称
	if self.任务链参数 == 1 then
		任务数据[任务id].分类 = 1
		self.对话内容 = " #W/前些日子#Y/" .. 任务链地图 .. "#W/的#Y/" .. 任务链人物 .. "#W/帮了我一个大忙，还请你帮我前去表示感谢。"
	elseif self.任务链参数 == 2 then
		任务数据[任务id].分类 = 2
		local cs = math.random(5)
	    if cs == 1 then
				local 三药 = {"金创药","金香玉","小还丹","千年保心丹","风水混元丹","定神香","蛇蝎美人","九转回魂丹","佛光舍利子","五龙丹"}
				 任务数据[任务id].道具  = 三药[math.random(1,#三药)]
		elseif cs == 2 then
				local 二药 = {"天不老","紫石英","鹿茸","血色茶花","六道轮回","熊胆","凤凰尾","硫磺草","龙之心屑","火凤之睛","丁香水","月星子","仙狐涎","地狱灵芝","麝香","血珊瑚","餐风饮露","白露为霜","天龙水","孔雀红"}
				 任务数据[任务id].道具 = 二药[math.random(1,#二药)]
		elseif cs == 3 then
			     任务数据[任务id].等级=math.random(5,8)*10
			     任务数据[任务id].道具 = 取随机物品(任务数据[任务id].等级)
	    elseif cs == 4 then
	    	local 随机环={"百合","桃花","兰花","红玫瑰","康乃馨","牡丹","木鱼","编钟","唢呐","笛子","萧","钹","竖琴","琵琶"}
	    	任务数据[任务id].道具= 随机环[math.random(1,#随机环)]
	    elseif cs == 5 then
	    	local 随机道具={"魔兽要诀","高级魔兽要诀","七彩石","易经丹","召唤兽内丹","高级召唤兽内丹","鬼谷子","神兜兜","附魔宝珠","不磨符"}
	    	任务数据[任务id].道具= 随机道具[math.random(1,#随机道具)]
		end
		self.对话内容 = " #W/听说#Y/" .. 任务链地图 .. "#W/的#Y/" .. 任务链人物 .. "#W/正在到处寻找#G/" .. 任务数据[任务id].道具 .. "#W/，请你前去帮他寻找个吧。"
	elseif self.任务链参数 == 3 then
		任务数据[任务id].分类 = 3
				local 召唤兽随机={
				{"大海龟","巨蛙","海毛虫","树怪","野猪","大蝙蝠","赌徒","山贼","强盗","狐狸精","黑熊","花妖","老虎","牛妖","小龙女","野鬼","狼","虾兵","蟹将",
                "龟丞相","牛头","马面","黑熊精","僵尸","雷鸟人","蝴蝶仙子","古代瑞兽","白熊","黑山老妖","天兵"},
                {"大海龟","巨蛙","海毛虫","树怪","野猪","大蝙蝠","赌徒","山贼","强盗","狐狸精","黑熊","花妖","老虎"},
                {"龟丞相","牛头","马面","黑熊精","僵尸","雷鸟人","蝴蝶仙子","古代瑞兽","白熊","黑山老妖","天兵"}
          		  }
				local sj =0
				if 玩家数据[id].角色.等级 < 65  then
                      sj = 1
                elseif 玩家数据[id].角色.等级 < 105 then
			    	  sj =2
			    else
			    	  sj =3
				end
		任务数据[任务id].召唤兽 =召唤兽随机[sj][math.random( #召唤兽随机[sj])]
		self.对话内容 = " #W/听说#Y/" .. 任务链地图 .. "#W/的#Y/" .. 任务链人物 .. "#W/最近迷恋上了炼妖，正在到处寻找#G/" .. 任务数据[任务id].召唤兽 .. "#W/，请你前去帮他寻找个吧。"
	elseif self.任务链参数 == 4 then
		任务数据[任务id].分类 = 4
		self.对话内容 = " #W/听闻#Y/" .. 任务链地图 .. "#W/的#Y/" .. 任务链人物 .. "#W/正在被心魔所困，还请前往协助铲除心魔。"
	end
	发送数据(玩家数据[id].连接id,20,{"老书生","陆萧然",self.对话内容})
	self:刷新追踪任务信息(id)
end
function 任务控制类:完成宝宝任务链(id, 任务id, 跳过)
	if 任务id == nil or 任务数据[任务id] == nil or 任务数据[任务id].奖励重置 == false then
		发送数据(玩家数据[id].连接id, 7, "#y/宝宝任务链数据异常")
		return 0
	end
	任务数据[任务id].奖励重置 = false
	self.宝宝任务链经验 = math.floor(取角色等级(id) * 取角色等级(id) * 100 * (1 + 任务数据[任务id].次数 * 0.01))
	
		-- 角色处理类:添加经验(玩家数据[id],self.宝宝任务链经验,"宝宝任务链")
		-- 角色处理类:添加活跃度(玩家数据[id],1)
		 -- 玩家数据[id].角色.神器积分=玩家数据[id].角色.神器积分+1
   --      发送数据(玩家数据[id].连接id,7,"#y/你获得了1点神器积分！")

     -- 60 
      角色处理类:添加召唤兽修炼点数(玩家数据[id],60)
	self.玩家名称 =玩家数据[id].角色.名称
	if 任务数据[任务id].次数 == 100 then
			if 玩家数据[id].成就系统.宝宝环 ~= nil then
		玩家数据[id].成就系统.宝宝环.次数 = 玩家数据[id].成就系统.宝宝环.次数 + 1
	   		else
		玩家数据[id].成就系统.宝宝环 = {次数=1,奖励=0,等级=0}
		end
		角色处理类:取消任务(玩家数据[id],任务id)
		任务数据[任务id] = nil
		发送数据(玩家数据[id].连接id, 7, "#y/你完成了宝宝任务链")
		角色处理类:添加银子(玩家数据[id],math.random(50000, 30000000),"宝宝任务链")
		道具处理类:给予道具(id, "高级魔兽要诀", 取高级兽诀名称())
		发送数据(玩家数据[id].连接id, 7, "#y/你获得了高级魔兽要诀")
		广播消息("#hd/".."#S/(宝宝任务链)".."#g/" .. self.玩家名称 .. "#y/完成100次宝宝任务链任务获得了#r/高级魔兽要诀".."#"..math.random(110))
	else
		self:设置宝宝任务链(id, 任务id)
	end
end
function 任务控制类:设置宝宝任务链(id, 任务id)
	self.宝宝任务链参数 = math.random(3)
	任务数据[任务id].次数 = 任务数据[任务id].次数 + 1
	任务数据[任务id].id = 任务数据[任务id].id
	任务数据[任务id].奖励重置 = true
	任务数据[任务id].起始 = os.time()
	任务数据[任务id].结束 = 3600
	任务数据[任务id].地图名称,任务数据[任务id].NPC= 取任务人物和地图()


	local  宝宝任务链地图=MapData[任务数据[任务id].地图名称].名称
	local  宝宝任务链人物 =NpcData[任务数据[任务id].NPC].名称
	if self.宝宝任务链参数 == 1 then
		任务数据[任务id].分类 = 1
		self.对话内容 = " #W/前些日子#Y/" .. 宝宝任务链地图 .. "#W/的#Y/" .. 宝宝任务链人物 .. "#W/帮了我一个大忙，还请你帮我前去表示感谢。"
	elseif self.宝宝任务链参数 == 2 then
		任务数据[任务id].分类 = 2
		local cs = math.random(5)
	    if cs == 1 then
				local 三药 = {"金创药","金香玉","小还丹","千年保心丹","风水混元丹","定神香","蛇蝎美人","九转回魂丹","佛光舍利子","五龙丹"}
				 任务数据[任务id].道具  = 三药[math.random(1,#三药)]
		elseif cs == 2 then
				local 二药 = {"天不老","紫石英","鹿茸","血色茶花","六道轮回","熊胆","凤凰尾","硫磺草","龙之心屑","火凤之睛","丁香水","月星子","仙狐涎","地狱灵芝","麝香","血珊瑚","餐风饮露","白露为霜","天龙水","孔雀红"}
				 任务数据[任务id].道具 = 二药[math.random(1,#二药)]
		elseif cs == 3 then
			     任务数据[任务id].等级=math.random(5,8)*10
			     任务数据[任务id].道具 = 取随机物品(任务数据[任务id].等级)
	    elseif cs == 4 then
	    	local 随机环={"百合","桃花","兰花","红玫瑰","康乃馨","牡丹","木鱼","编钟","唢呐","笛子","萧","钹","竖琴","琵琶"}
	    	任务数据[任务id].道具= 随机环[math.random(1,#随机环)]
	    elseif cs == 5 then
	    	local 随机道具={"魔兽要诀","高级魔兽要诀","召唤兽内丹","高级召唤兽内丹","鬼谷子","附魔宝珠","七彩石","易经丹"}
	    	任务数据[任务id].道具= 随机道具[math.random(1,#随机道具)]
		end
		self.对话内容 = " #W/听说#Y/" .. 宝宝任务链地图 .. "#W/的#Y/" .. 宝宝任务链人物 .. "#W/正在到处寻找#G/" .. 任务数据[任务id].道具 .. "#W/，请你前去帮他寻找个吧。"
	elseif self.宝宝任务链参数 == 3 then
		任务数据[任务id].分类 = 3
				local 召唤兽随机={
				{"大海龟","巨蛙","树怪","野猪","狐狸精","花妖","强盗","山贼","老虎","海星","章鱼","骷髅怪","蜘蛛精","雷鸟人","狼","天兵"},
                {"黑山老妖","兔子怪","赌徒","古代瑞兽","天兵","天将","地狱战神","大海龟","巨蛙","树怪","野猪","狐狸精","花妖","强盗","山贼","老虎","海星","章鱼","骷髅怪","蜘蛛精","雷鸟人","狼","天兵"},
                {"凤凰","雷鸟人","蛟龙","大海龟","巨蛙","树怪","野猪","狐狸精","花妖","强盗","山贼","老虎","蝴蝶仙子","海星","章鱼","骷髅怪","蜘蛛精","雷鸟人","狼","天兵"}
          		  }
         
				local sj =0
				if 玩家数据[id].角色.等级 < 65  then
                      sj = 1
                elseif 玩家数据[id].角色.等级 < 105 then
			    	  sj =2
			    else
			    	  sj =3
				end
		任务数据[任务id].召唤兽 =召唤兽随机[sj][math.random( #召唤兽随机[sj])]
		self.对话内容 = " #W/听说#Y/" .. 宝宝任务链地图 .. "#W/的#Y/" .. 宝宝任务链人物 .. "#W/最近迷恋上了炼妖，正在到处寻找#G/" .. 任务数据[任务id].召唤兽 .. "#W/，请你前去帮他寻找个吧。"
	-- elseif self.宝宝任务链参数 == 4 then
	-- 	任务数据[任务id].分类 = 4
	-- 	self.对话内容 = " #W/听闻#Y/" .. 宝宝任务链地图 .. "#W/的#Y/" .. 宝宝任务链人物 .. "#W/正在被心魔所困，还请前往协助铲除心魔。"
	end
	发送数据(玩家数据[id].连接id,20,{"太白金星","马真人",self.对话内容})
	self:刷新追踪任务信息(id)
end